package poi;

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.resource.ClassPathResource;
import cn.hutool.core.io.resource.FileResource;
import cn.hutool.core.io.resource.Resource;
import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;


public class BasicsExcelReader {

    public static void main(String[] args) {
        pathConvertExcelReader();
    }

    /**
     * 从文件中读取Excel为ExcelReader教程
     */
    public static void pathConvertExcelReader() {
//        文档示例
        //        1.从文件中读取Excel为ExcelReader
//        ExcelReader reader = ExcelUtil.getReader(FileUtil.file("test.xlsx"));

        /**
         * 获取{@link Resource} 资源对象<br>
         * 如果提供路径为绝对路径或路径以file:开头，返回{@link FileResource}，否则返回{@link ClassPathResource}
         *
         * @param path 路径，可以是绝对路径，也可以是相对路径（相对ClassPath）
         * @return {@link Resource} 资源对象
         * @since 3.2.1
         */
//        ClassPath就是编译文件WEB-INF下面的classes文件夹，WEB-INF/classes文件夹
//        D:\work\xikuan\biz\out\artifacts\auditSystem_war_exploded\WEB-INF\classes
//        ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("aaa.xlsx"));

//        这个path = "../template/budget/result.xls";会被 normalPath = normalize(path); 变成 normalPath = "template/budget/result.xls";
//        然后找不到路径
//        ExcelReader reader = ExcelUtil.getReader(ResourceUtil.getStream("../template/budget/result.xls"));


//        bug1
//        ExcelReader reader = ExcelUtil.getReader(FileUtil.file("toolsUseCourse.hutools.poi.ExcelReader.result.xls"));
//        FileNotFoundException: D:\personal\comprehensive\target\classes\toolsUseCourse.hutools.poi.ExcelReader.result.xls

//        \是转义字符

//        1.java文件夹下面
//        D:\personal\comprehensive\toolsUseCourse\hutools\poi\ExcelReader\result.xls
//        comprehensive是模块名
//        toolsUseCourse是文件夹名
        ExcelReader reader0 = ExcelUtil.getReader(FileUtil.file("toolsUseCourse\\hutools\\poi\\ExcelReader\\result.xls"));

//        2.在WEB-INF文件夹下面
//        项目初始化的时候setWebRootPath，然后去拼出来这个
//        SysParams.getRealPath用的是里面的
//        ExcelReader reader1 = ExcelUtil.getReader(FileUtil.file(SysParams.getRealPath("WEB-INF/template/budget/result.xls")));


//        用hutool拿WEB-INF下的绝对路径

    }

//    /**
//     * 读取指定的sheet
//     */
//    public static void getSheet() {
//        ExcelReader reader = ExcelUtil.getReader(FileUtil.file(SysParams.getRealPath("WEB-INF/template/budget/result.xls")));
//
//        //通过sheet编号获取
//        reader = ExcelUtil.getReader(FileUtil.file("test.xlsx"), 0);
//        //通过sheet名获取
//        reader = ExcelUtil.getReader(FileUtil.file("test.xlsx"), "sheet1");
//
//    }


}
